# paths
current_dir <- getwd()
plot_dir <- file.path(current_dir, "plots")
# load data & functions
load("XSTSF_production.RData")
source('functions.R')
# data processing
f0_di_ct_lcmh_focus <- f0_all_pre %>% filter(syntax %in% c('L', 'M') & diortri == 'di')
f0_di_ct_vo_focus <- f0_all_pre %>% filter(syntax %in% c('V') & diortri == 'di')
# di lcmh h
f0_di_ct_lcmh_h_focus <- f0_di_ct_lcmh_focus %>% filter(grepl('^H', sync_tone1))
f0_di_ct_lcmh_hp_focus <- f0_di_ct_lcmh_h_focus %>% filter(hist_tone1 == 'yinping')
f0_di_ct_lcmh_hs_focus <- f0_di_ct_lcmh_h_focus %>% filter(hist_tone1 == 'yinshang')
f0_di_ct_lcmh_hp_focus_ct <- f0_di_ct_lcmh_hp_focus %>% filter(focus_condition == 'ct')
f0_di_ct_lcmh_hp_focus_1 <- f0_di_ct_lcmh_hp_focus %>% filter(focus_condition == '1')
f0_di_ct_lcmh_hp_focus_2 <- f0_di_ct_lcmh_hp_focus %>% filter(focus_condition == '2')
f0_di_ct_lcmh_hp_focus_di <- f0_di_ct_lcmh_hp_focus %>% filter(focus_condition == 'di')
f0_di_ct_lcmh_hs_focus_ct <- f0_di_ct_lcmh_hs_focus %>% filter(focus_condition == 'ct')
f0_di_ct_lcmh_hs_focus_1 <- f0_di_ct_lcmh_hs_focus %>% filter(focus_condition == '1')
f0_di_ct_lcmh_hs_focus_2 <- f0_di_ct_lcmh_hs_focus %>% filter(focus_condition == '2')
f0_di_ct_lcmh_hs_focus_di <- f0_di_ct_lcmh_hs_focus %>% filter(focus_condition == 'di')
# di lcmh l
f0_di_ct_lcmh_l_focus <- f0_di_ct_lcmh_focus %>% filter(grepl('^[LR]', sync_tone1))
f0_di_ct_lcmh_lp_focus <- f0_di_ct_lcmh_l_focus %>% filter(hist_tone1 == 'yangping')
f0_di_ct_lcmh_ls_focus <- f0_di_ct_lcmh_l_focus %>% filter(hist_tone1 == 'yangshang')
f0_di_ct_lcmh_lp_focus_ct <- f0_di_ct_lcmh_lp_focus %>% filter(focus_condition == 'ct')
f0_di_ct_lcmh_lp_focus_1 <- f0_di_ct_lcmh_lp_focus %>% filter(focus_condition == '1')
f0_di_ct_lcmh_lp_focus_2 <- f0_di_ct_lcmh_lp_focus %>% filter(focus_condition == '2')
f0_di_ct_lcmh_lp_focus_di <- f0_di_ct_lcmh_lp_focus %>% filter(focus_condition == 'di')
f0_di_ct_lcmh_ls_focus_ct <- f0_di_ct_lcmh_ls_focus %>% filter(focus_condition == 'ct')
f0_di_ct_lcmh_ls_focus_1 <- f0_di_ct_lcmh_ls_focus %>% filter(focus_condition == '1')
f0_di_ct_lcmh_ls_focus_2 <- f0_di_ct_lcmh_ls_focus %>% filter(focus_condition == '2')
f0_di_ct_lcmh_ls_focus_di <- f0_di_ct_lcmh_ls_focus %>% filter(focus_condition == 'di')
# di vo h
f0_di_ct_vo_h_focus <- f0_di_ct_vo_focus %>% filter(grepl('^H', sync_tone1))
f0_di_ct_vo_hp_focus <- f0_di_ct_vo_h_focus %>% filter(hist_tone1 == 'yinping')
f0_di_ct_vo_hs_focus <- f0_di_ct_vo_h_focus %>% filter(hist_tone1 == 'yinshang')
f0_di_ct_vo_hp_focus_ct <- f0_di_ct_vo_hp_focus %>% filter(focus_condition == 'ct')
f0_di_ct_vo_hp_focus_1 <- f0_di_ct_vo_hp_focus %>% filter(focus_condition == '1')
f0_di_ct_vo_hp_focus_2 <- f0_di_ct_vo_hp_focus %>% filter(focus_condition == '2')
f0_di_ct_vo_hp_focus_di <- f0_di_ct_vo_hp_focus %>% filter(focus_condition == 'di')
f0_di_ct_vo_hs_focus_ct <- f0_di_ct_vo_hs_focus %>% filter(focus_condition == 'ct')
f0_di_ct_vo_hs_focus_1 <- f0_di_ct_vo_hs_focus %>% filter(focus_condition == '1')
f0_di_ct_vo_hs_focus_2 <- f0_di_ct_vo_hs_focus %>% filter(focus_condition == '2')
f0_di_ct_vo_hs_focus_di <- f0_di_ct_vo_hs_focus %>% filter(focus_condition == 'di')
# Base filtering for di syllable in L/M syntax
f0_di_ct_lcmh_focus <- f0_all_pre %>%
filter(syntax %in% c('L', 'M'), diortri == 'di')
# Function to filter by sync tone prefix and historical tone
filter_by_sync_and_hist_tone <- function(data, sync_prefix, hist_tone) {
data %>%
filter(grepl(paste0('^', sync_prefix), sync_tone1), hist_tone1 == hist_tone)
}
# Function to filter by focus condition
filter_by_focus_condition <- function(data, focus_cond) {
data %>%
filter(focus_condition == focus_cond)
}
# Filtering by sync tone, historical tone, and focus condition
f0_di_ct_lcmh_hp_focus <- filter_by_sync_and_hist_tone(f0_di_ct_lcmh_focus, 'H', 'yinping')
f0_di_ct_lcmh_hs_focus <- filter_by_sync_and_hist_tone(f0_di_ct_lcmh_focus, 'H', 'yinshang')
f0_di_ct_lcmh_lp_focus <- filter_by_sync_and_hist_tone(f0_di_ct_lcmh_focus, '[LR]', 'yangping')
f0_di_ct_lcmh_ls_focus <- filter_by_sync_and_hist_tone(f0_di_ct_lcmh_focus, '[LR]', 'yangshang')
# Apply focus condition filtering
focus_conditions <- c('ct', '1', '2', 'di')
filtered_results <- list()
for (focus_cond in focus_conditions) {
filtered_results[[paste0("hp_focus_", focus_cond)]] <- filter_by_focus_condition(f0_di_ct_lcmh_hp_focus, focus_cond)
filtered_results[[paste0("hs_focus_", focus_cond)]] <- filter_by_focus_condition(f0_di_ct_lcmh_hs_focus, focus_cond)
filtered_results[[paste0("lp_focus_", focus_cond)]] <- filter_by_focus_condition(f0_di_ct_lcmh_lp_focus, focus_cond)
filtered_results[[paste0("ls_focus_", focus_cond)]] <- filter_by_focus_condition(f0_di_ct_lcmh_ls_focus, focus_cond)
}
# Access the filtered results using their keys
# Example: filtered_results$hp_focus_ct, filtered_results$hs_focus_1, etc.
Initial data inspection
yinping-initial LC & MH
# citation
ggplotly(draw_by(f0_di_ct_lcmh_hp_focus_ct, 'speaker'), tooltip = c('text', 'x'))
# focus: first
ggplotly(draw_by(f0_di_ct_lcmh_hp_focus_1, 'speaker'), tooltip = c('text', 'x'))
# focus: second
ggplotly(draw_by(f0_di_ct_lcmh_hp_focus_2, 'speaker'), tooltip = c('text', 'x'))
# focus: di
ggplotly(draw_by(f0_di_ct_lcmh_hp_focus_di, 'speaker'), tooltip = c('text', 'x'))
yinshang-initial LC & MH
# citation
ggplotly(draw_by(f0_di_ct_lcmh_hs_focus_ct, 'speaker'), tooltip = c('text', 'x'))
# focus: first
ggplotly(draw_by(f0_di_ct_lcmh_hs_focus_1, 'speaker'), tooltip = c('text', 'x'))
# focus: second
ggplotly(draw_by(f0_di_ct_lcmh_hs_focus_2, 'speaker'), tooltip = c('text', 'x'))
# focus: di
ggplotly(draw_by(f0_di_ct_lcmh_hs_focus_di, 'speaker'), tooltip = c('text', 'x'))
yangping-initial LC & MH
# citation
ggplotly(draw_by(f0_di_ct_lcmh_lp_focus_ct, 'speaker'), tooltip = c('text', 'x'))
# focus: first
ggplotly(draw_by(f0_di_ct_lcmh_lp_focus_1, 'speaker'), tooltip = c('text', 'x'))
# focus: second
ggplotly(draw_by(f0_di_ct_lcmh_lp_focus_2, 'speaker'), tooltip = c('text', 'x'))
# focus: di
ggplotly(draw_by(f0_di_ct_lcmh_lp_focus_di, 'speaker'), tooltip = c('text', 'x'))
yinping-initial VO
# citation
ggplotly(draw_by(f0_di_ct_vo_hp_focus_ct, 'speaker'), tooltip = c('text', 'x'))
# focus: first
ggplotly(draw_by(f0_di_ct_vo_hp_focus_1, 'speaker'), tooltip = c('text', 'x'))
# focus: second
ggplotly(draw_by(f0_di_ct_vo_hp_focus_2, 'speaker'), tooltip = c('text', 'x'))
# focus: di
ggplotly(draw_by(f0_di_ct_vo_hp_focus_di, 'speaker'), tooltip = c('text', 'x'))
yinshang-initial VO
# citation
ggplotly(draw_by(f0_di_ct_vo_hs_focus_ct, 'speaker'), tooltip = c('text', 'x'))
# focus: first
ggplotly(draw_by(f0_di_ct_vo_hs_focus_1, 'speaker'), tooltip = c('text', 'x'))
# focus: second
ggplotly(draw_by(f0_di_ct_vo_hs_focus_2, 'speaker'), tooltip = c('text', 'x'))
# focus: di
ggplotly(draw_by(f0_di_ct_vo_hs_focus_di, 'speaker'), tooltip = c('text', 'x'))